package lang4j.parser.generated;
//meta2 now!

import lang4j.parser.Position;
import lang4j.parser.ParsedEntity;
                              
public class ListProductionPow  implements ListProduction,ParsedEntity {

// Attributes
    private String name;
        private ListElementType type;
        private Terminal lit;
    
    Position mStart;
    Position mEnd;

    public ListProductionPow(){
    }

    public Position mGetStart(){
        return mStart;
    }
    public Position mGetEnd(){
        return mEnd;
    }

    public void mSetStart(Position start){
        this.mStart=start;
    }

    public void mSetEnd(Position end){
      this.mEnd=end;
    }


// Accessors ******************************************************************

    public String getName(){
        return name;
    }

    public void setName(String name){
        this.name=name;
    }

    public ListElementType getType(){
        return type;
    }

    public void setType(ListElementType type){
        this.type=type;
    }

    public Terminal getLit(){
        return lit;
    }

    public void setLit(Terminal lit){
        this.lit=lit;
    }


// Acceptors ******************************************************************
    public void accept(ListProductionVisitor visitor){
        visitor.visitListProductionPow(this);
    }
    public void accept(ProductionVisitor visitor){
        visitor.visitListProduction(this);
    }


// Transformers ******************************************************************
    public <T> T transform(ListProductionTransformer<T> transformer){
        return transformer.transformListProductionPow(this);
    }
    public <T> T transform(ProductionTransformer<T> transformer){
        return transformer.transformListProduction(this);
    }


// Property based type identification ****************************************

    public boolean isListProductionPow(){
        return true;
    }
}